package com.jy.adscm.operation.base.bean;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 个人工作计划详情
 * </p>
 *
 * @author zyl
 * @since 2020-05-26
 */
public class TaskWorkPlanDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private Long pid;
    /**
     * 工作内容
     */
    private String content;
    /**
     * 属性(1项目性事物2例行性事物3临时性事物）
     */
    private Integer type;
    /**
     * 投入资源
     */
    private String inResource;
    /**
     * 工作完成时间
     */
    private Date planFinish;
    /**
     * 达成结果
     */
    private String result;
    /**
     * 工作结果呈现形式( 软件平台1  纸质资料2 现场实物3 现金数额4 其他5 )
     */
    private String  resultType;
    @TableField(exist = false)
    private List<Integer> resultTypes;
    /**
     * 备注
     */
    private String remark;
    /**
     * 审核人
     */
    private String approve;
    @TableField(exist = false)
    private String approveName;
    /**
     * 审核时间
     */
    private Date approveTime;
    /**
     * 审核建议
     */
    private String approveResult;
    /*创建人*/
    private String creator;
    @TableField(exist = false)
    private String creatorName;
    /*创建时间*/
    private Date createTime;
    /**
     * 状态 0 待提交  1 待审核  2 审核通过  3 审核不通过
     */
    private Integer state;
    /*输入其他资源*/
    private  String   inResoureOther;
    /*工作类型金额*/
    private  String   resultTypeSum;
    /*工作类型其他*/
    private  String   resultTypeOther;
    /*是否完成 1 完成 0 未完成*/
    private  Integer   isFinish;

    public Integer getIsFinish() {
        return isFinish;
    }

    public void setIsFinish(Integer isFinish) {
        this.isFinish = isFinish;
    }

    public List<Integer> getResultTypes() {
        return resultTypes;
    }

    public void setResultTypes(List<Integer> resultTypes) {
        this.resultTypes = resultTypes;
    }

    public String getInResoureOther() {
        return inResoureOther;
    }

    public void setInResoureOther(String inResoureOther) {
        this.inResoureOther = inResoureOther;
    }

    public String getResultTypeSum() {
        return resultTypeSum;
    }

    public void setResultTypeSum(String resultTypeSum) {
        this.resultTypeSum = resultTypeSum;
    }

    public String getResultTypeOther() {
        return resultTypeOther;
    }

    public void setResultTypeOther(String resultTypeOther) {
        this.resultTypeOther = resultTypeOther;
    }

    public String getApproveName() {
        return approveName;
    }

    public void setApproveName(String approveName) {
        this.approveName = approveName;
    }

    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getPid() {
        return pid;
    }

    public void setPid(Long pid) {
        this.pid = pid;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getInResource() {
        return inResource;
    }

    public void setInResource(String inResource) {
        this.inResource = inResource;
    }
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    public Date getPlanFinish() {
        return planFinish;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd")
    public void setPlanFinish(Date planFinish) {
        this.planFinish = planFinish;
    }

    public String getResult() {
        return result;
    }

    public void setResult(String result) {
        this.result = result;
    }

    public String getResultType() {
        return resultType;
    }

    public void setResultType(String resultType) {
        this.resultType = resultType;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getApprove() {
        return approve;
    }

    public void setApprove(String approve) {
        this.approve = approve;
    }
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    public Date getApproveTime() {
        return approveTime;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public void setApproveTime(Date approveTime) {
        this.approveTime = approveTime;
    }

    public String getApproveResult() {
        return approveResult;
    }

    public void setApproveResult(String approveResult) {
        this.approveResult = approveResult;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    @Override
    public String toString() {
        return "TaskWorkPlanDetail{" +
        "id=" + id +
        ", pid=" + pid +
        ", content=" + content +
        ", type=" + type +
        ", inResource=" + inResource +
        ", planFinish=" + planFinish +
        ", result=" + result +
        ", resultType=" + resultType +
        ", remark=" + remark +
        ", approve=" + approve +
        ", approveTime=" + approveTime +
        ", approveResult=" + approveResult +
        ", creator=" + creator +
        ", createTime=" + createTime +
        ", state=" + state +
        "}";
    }
}
